Databases are used for a large number of different applications. In some instances, the databases can be used to store sensitive information that calls for a measure of security. Depending upon the importance of the information and the potential for misuse of the information, different levels of security are implemented. Several different types of sensitive information that typically require a high level of security include transaction card account identifiers, account numbers, social security numbers, and more.
Many applications exist that utilize databases containing sensitive data and information related to sensitive data. The applications serve a variety of purposes, including statistical analysis, record keeping, Internet access, and other uses. Some types of sensitive data relate to personal identification data, such as social-security numbers, driver license numbers, private cell phone numbers, account numbers or biometric data indication. Other types of sensitive data may be related to private information, such as medical records, financial statements or other information. These and other types of data are often useful for statistical analysis, record keeping, and other data-management uses. When using the sensitive data, many data-management applications store the sensitive data in a database. If an unauthorized person were to gain access to the database, they could use the stored information to commit fraud, identity theft, or other illegal activities. For this reason, sufficient security measures are required to prevent unauthorized access to a database containing sensitive information.
There has been a growing concern, however, in the prevention of unauthorized access to such databases. A person who gains such an unauthorized access could commit fraud, identity theft, or other illegal activities with any of the sensitive information. In addition, the capacity for transaction card fraud has increased with the growing use of the Internet. If databases are accessible from a system that has a link to the Internet, the potential security issues increase because an unauthorized person may be able to access the database from a distant location. Accordingly, databases that contain transaction card information often implement costly security measures to prevent transaction card fraud.
Examples of security measures used include implementing a firewall or a similar method of limiting external access, password protecting the database, limiting the amount of sensitive information stored, limiting the amount of information that is stored, encrypting the sensitive information, and masking the display of the sensitive information.
Several of the security measures can adversely affect the functionality of the database. For example, limiting the amount of sensitive information stored often can be accomplished by retaining the sensitive information for a limited period of time (e.g., only storing sensitive information less than a month old); however, an application may have a need for accessing information related to events that occurred prior to the limited time period. In another example, the sensitive data can be encrypted in the database using an encryption method, such as AES (Advanced Encryption Standard) cryptography or similar method. Unfortunately, after a sensitive data element is encrypted by such methods, the encrypted result is often a large binary string, and thus, contains characters that cannot be displayed and that can be difficult to store and manipulate because of the encrypted format. Moreover, database transactions involving the encrypted data can require large amounts of computing power and time, and can produce erroneous data that in various applications can cause the applications to function incorrectly. In addition, many encryption methods use a key to create the encrypted data. If the key is changed, all of the encrypted data must also be changed. This can create compatibility issues between the old and new encrypted values.
When the sensitive data is masked for display purposes (e.g., replaced with “*” or other unrelated markers), masking the information can reduce the usefulness of the display. For example, a viewer is not able to look through a listing of data for identical sensitive data identifiers if the identifiers are masked. Moreover, if partial masking of the identifiers is used, the uniqueness of each sensitive data element may be lost.
These and other issues have presented challenges to the implementation of secure databases, including those involving sensitive information.